Skip to content

feat: expand multilingual chat typography#6

Merged
boggedbrush merged 4 commits into
mainfrom
feat/chat-multilingual-typography
Apr 20, 2026
Merged

feat: expand multilingual chat typography#6
boggedbrush merged 4 commits into
mainfrom
feat/chat-multilingual-typography

Conversation

@boggedbrush
Copy link
Copy Markdown
Owner

@boggedbrush boggedbrush commented Apr 18, 2026

Summary

  • build on Add configurable Arabic chat font settings and improve RTL chat rendering #5 by broadening chat readability from Arabic-focused RTL support to a multilingual script stack
  • add bundled chat fallbacks and settings coverage for Latin, Greek, Cyrillic, Arabic-script, Hebrew, Devanagari, and Thai content
  • keep the typography work robust under settings changes by remeasuring virtualized rows when chat text size or chat font settings change
  • avoid forcing auto-direction user bubbles into monospace so scripts like Thai and Devanagari use the multilingual readability stack in Auto

Notes

  • this is chat-level/script support, not full app localization
  • Arabic support remains included, but it now lives inside the multilingual chat mode instead of a separate Arabic-only setting

Screenshot

Chat typography settings

Validation

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run --cwd apps/web test src/lib/chatReadability.test.ts src/lib/textDirection.test.ts src/components/timelineHeight.test.ts src/components/chat/MessagesTimeline.test.tsx
  • bun run --cwd apps/web test:browser -- src/components/chat/MessagesTimeline.virtualization.browser.tsx --reporter=dot -t "keeps the long user message estimate within tolerance|assistant mixed-direction row|re-measures virtualized rows after chat text size changes|re-measures virtualized rows after chat font family changes"
  • bun run --cwd apps/web build

Mo999salah and others added 3 commits April 17, 2026 22:44
Add a client setting for chat font selection and apply it across chat markdown, user messages, and the composer.

Keep Arabic content readable in RTL while preserving code blocks and default app typography. Also fix the settings hook typing so components can subscribe to setting slices cleanly.
Build on the RTL chat typography work with broader script support.

Add bundled chat fallbacks for Hebrew, Devanagari, and Thai,
keep Arabic within the multilingual stack, and harden
virtualized row remeasurement for typography changes.
Keep terminal-context user bubbles out of the monospace stack
when their visible text has auto direction.

Add a regression test for an auto-direction user message with
terminal context metadata so the reviewed path stays covered.
@boggedbrush
Copy link
Copy Markdown
Owner Author

Re-validated on a fresh merge commit against the updated main on April 20, 2026.

Confirmed locally:

  • bun install
  • bun dev:server -- --no-browser
  • bun fmt
  • bun lint
  • bun typecheck

This PR is working and able to merge.

@boggedbrush boggedbrush merged commit 9de6379 into main Apr 20, 2026
1 of 2 checks passed
@boggedbrush boggedbrush deleted the feat/chat-multilingual-typography branch May 18, 2026 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants